草庐IT

qt - 何时或如何在 QSqlTableModel 上使用 fetchMore() 和 SQLite 数据库让 rowCount() 工作?

我的类DataTable派生自QAbstractTableModel。它在内部使用QSqlTableModel对象从数据库表中获取数据。它代表db中每一行的记录(它做的更多,但记录计数始终是db表中的行数)。使用MySql,我的DataTable::rowCount()实现只是在QSqlTableModel上调用rowCount(),它运行良好。现在使用SQLite,如果db表中的行数超过256,Qt的SQLite驱动程序将返回256的行数,因此我的DataTable类也返回256-这是错误的。documentation叫我打电话while(sql_model->canFetchMor

qt - 何时或如何在 QSqlTableModel 上使用 fetchMore() 和 SQLite 数据库让 rowCount() 工作?

我的类DataTable派生自QAbstractTableModel。它在内部使用QSqlTableModel对象从数据库表中获取数据。它代表db中每一行的记录(它做的更多,但记录计数始终是db表中的行数)。使用MySql,我的DataTable::rowCount()实现只是在QSqlTableModel上调用rowCount(),它运行良好。现在使用SQLite,如果db表中的行数超过256,Qt的SQLite驱动程序将返回256的行数,因此我的DataTable类也返回256-这是错误的。documentation叫我打电话while(sql_model->canFetchMor

qt - 如何使用 Windows/MinGW 平台为带有 SQLCipher 扩展的 SQLite-DB 构建 Qt-SQL-driver-plugin 'QSQLCIPHER'?

这通常不是在哪里可以找到分步指南的问题,而是指南本身的问题。我写这篇文章的目的是给其他人一个提示,他们在编译驱动程序插件时遇到了和我最近一样的问题。如何使用Windows/MinGW平台使用SQLCipher-extension为SQLite-DB构建Qt-SQL-driver-plugin'QSQLCIPHER'? 最佳答案 如何使用Windows/MinGW平台为带有SQLCipher扩展的SQLite-DB构建Qt-SQL-driver-plugin'QSQLCIPHER':适用于Windows/MinGW的Qt5.4.0下载

qt - 如何使用 Windows/MinGW 平台为带有 SQLCipher 扩展的 SQLite-DB 构建 Qt-SQL-driver-plugin 'QSQLCIPHER'?

这通常不是在哪里可以找到分步指南的问题,而是指南本身的问题。我写这篇文章的目的是给其他人一个提示,他们在编译驱动程序插件时遇到了和我最近一样的问题。如何使用Windows/MinGW平台使用SQLCipher-extension为SQLite-DB构建Qt-SQL-driver-plugin'QSQLCIPHER'? 最佳答案 如何使用Windows/MinGW平台为带有SQLCipher扩展的SQLite-DB构建Qt-SQL-driver-plugin'QSQLCIPHER':适用于Windows/MinGW的Qt5.4.0下载

qt - 向 Qt 应用程序添加自定义 sqlite 函数

我正在尝试将自定义sqlite3regexp函数添加到我的Qt应用程序中(按照thisanswer的建议)。但是当我调用sqlite3_create_function函数时,我收到消息Theprogramhasunexpectedlyfinished.当我调试时,它终止于sqlite3_mutex_enter。下面有一个MWE,对绝对文件路径表示歉意。我代码中的regexp实现来自thissite;它也因msign函数失败here.driver()->handle()的各种检查直接来自Qt文档。顺便说一句,我使用selectsqlite_version();确定Qt5.5使用的是sql

qt - 向 Qt 应用程序添加自定义 sqlite 函数

我正在尝试将自定义sqlite3regexp函数添加到我的Qt应用程序中(按照thisanswer的建议)。但是当我调用sqlite3_create_function函数时,我收到消息Theprogramhasunexpectedlyfinished.当我调试时,它终止于sqlite3_mutex_enter。下面有一个MWE,对绝对文件路径表示歉意。我代码中的regexp实现来自thissite;它也因msign函数失败here.driver()->handle()的各种检查直接来自Qt文档。顺便说一句,我使用selectsqlite_version();确定Qt5.5使用的是sql

Qt--自定义控件

写在前面Qt中提供了应用在各种场景的控件,使开发人员在实际工作中选择。但有些特定的场合中这些控件并不满足需要时,Qt允许使用自定义的控件。例:我们在工作中有这样一种需求,点击按钮会根据一些其他状态来显示不同的图片,这时Qt提供的QPushButton就无法满足这种需求,这时我们就可以自定义一个继承自QPushButton的按钮类,在该类中重写按下的事件函数以实现根据其他状态显示不同图片的需求。又或是,在一个项目中,频繁组合使用一些Qt提供的控件的组合(例SpinBox和HorizontalSlider),每次添加都需要添加维护两个控件。这时可以自定义一个控件类,在该类中管理维护SpinBox和

qt - 是否有任何 Qt SQLite 插件可以通过 VFS 将数据库存储在 RAM 中(用于从 Qt 资源文件加载数据库)?

我在.qrc中有一些:/test.sqlite3数据库。目标是在程序中直接使用这个数据库。数据库仅用于读取。QSqlDatabase::setDatabase(":/test.sqlite3")不起作用,因为QtSQLite不是为与Qt的文件系统一起工作而设计的。解决方案之一是将数据库从.qrc复制到D:\temdb.sqlite3并通过QSqlDatabase::setDatabase("D:\\temdb.sqlite3")。但是程序不能与OS文件系统一起工作。第二种方案是将:/dump.sql存储在资源中,然后通过QSqlDatabase::setDatabase(":memor

qt - 是否有任何 Qt SQLite 插件可以通过 VFS 将数据库存储在 RAM 中(用于从 Qt 资源文件加载数据库)?

我在.qrc中有一些:/test.sqlite3数据库。目标是在程序中直接使用这个数据库。数据库仅用于读取。QSqlDatabase::setDatabase(":/test.sqlite3")不起作用,因为QtSQLite不是为与Qt的文件系统一起工作而设计的。解决方案之一是将数据库从.qrc复制到D:\temdb.sqlite3并通过QSqlDatabase::setDatabase("D:\\temdb.sqlite3")。但是程序不能与OS文件系统一起工作。第二种方案是将:/dump.sql存储在资源中,然后通过QSqlDatabase::setDatabase(":memor

qt - 使用一些开源解决方案用 Qt 加密 Sqlite

我的应用程序使用Qt4.6访问sqlite。现在我需要加密sqlite数据库。在搜索时我确实找到了SEE但这是获得许可的。我的问题是:我想使用QT或一些与Qt兼容的开源解决方案来加密sqlite数据库。如果您知道,请告诉我一些链接或教程。 最佳答案 SqlcipherSQLite扩展是你所需要的。看intoQTCentre关于构建支持开箱即用的加密的sqlite版本。这个版本的主要好处是它通过自定义插件提供标准的qtsql接口(interface)。此外,它是类BSD许可的。 关于qt-